package com.example.demo.component;

import com.example.demo.model.Student;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;

import java.beans.BeanProperty;

@Component
public class StudentComponent {
    // 在这么多Student对象中，指定这个为默认的
//    @Primary
    @Bean
    public Student s1(){
        return new Student("zhuangqi",1,23);
    }

    @Bean("ha")
    public Student s2(){
        return new Student("zhangsan",1,20);
    }

    @Bean({"wang","wu"})
    public  Student s3(){
        return new Student("wangwu",1,15);
    }

    // 这个对象必须是唯一的，不然会报错
    @Bean
    public String name(){
        return "lisi";
    }
    @Bean
    public String name2(){
        return "lisi222";
    }

    // 当有两个String类型的时候，不知道这个n应该是哪一个就会报错，
    // 但是如果这个n的名字变成name的时候，就会根据名称来识别，也就是说识别为“lisi”这个对象

    // @Qualifier 这个注解也可以加到参数上
    @Bean
    public Student s4(@Qualifier("name2") String n){
        return new Student(n,0,19);
    }

}
